#ifndef STACK_H
#define STACK_H

#include "LinkList.h"

typedef LinkList Stack;

/// 创建栈
/// \return 栈实例
Stack createStack();
/// 入栈
/// \param stack 栈实例
/// \param data 要入栈的数据
void pushStack(Stack *stack, int data);
/// 出栈
/// \param stack 栈实例
/// \return 出栈的数据
int popStack(Stack *stack);
/// 获取栈顶元素
/// \param stack 栈实例
/// \return 栈顶元素
int topStack(Stack *stack);
/// 判断栈是否为空
/// \param stack 栈实例
/// \return 1为空，0为非空
int isStackEmpty(Stack *stack);
/// 销毁栈
/// \param stack 栈实例
void destroyStack(Stack *stack);

#endif